Inference or rule-based systems include a knowledge base (or database) which consists of a set of facts, a set of rules applicable to the facts, and an inference procedure for producing new facts by applying rules to existing facts. Thus, the database changes as a result of inference activity carried out by a rule interpreter that evaluates rules. Typically, moreover, such systems assume a static environment in the sense that changes to the database take place only as a result of rule-program evaluation, so that any change in the initial database requires restarting the system. These systems are not capable of efficiently incorporating modifications to the database of facts resulting from sources other than the actions of the rules themselves.